home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
source
/
snip9503
/
scroll.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-14
|
2KB
|
48 lines
/*--------------------------[ scroll ]--------------------------*/
/* Scroll the active page up or down a number of lines */
/* Public domain code by Jeff Dunlop: */
/*--------------------------------------------------------------*/
/* input: */
/* dx = direction */
/* num_lines = number of lines to scroll, 0 = clear coords */
/* attr = attribute of blank line(s) */
/* y1, x1, y2, x2 = corner coordinates of scroll window */
/* local: */
/* regs = register union for ISR */
/*--------------------------------------------------------------*/
#include <dos.h>
#include "scrnmacs.h"
void scroll(int direction,
int num_lines,
int vattrib,
int ulrow,
int ulcomumn,
int lrrow,
int lrcolumn)
{
union REGS regs;
/*
BH = attribute to be used on blank line
CH = row of upper left corner of scroll window
CL = column of upper left corner of scroll window
DH = row of lower right corner of scroll window
DL = column of lower right corner of scroll window
*/
regs.h.al = (unsigned char)num_lines;
regs.h.bh = (unsigned char)vattrib;
regs.h.ch = (unsigned char)ulrow;
regs.h.cl = (unsigned char)ulcomumn;
regs.h.dh = (unsigned char)lrrow;
regs.h.dl = (unsigned char)lrcolumn;
if (direction == SCROLL_UP)
regs.h.ah = 0x06;
else regs.h.ah = 0x07;
int86(0x10, ®s, ®s);
}